|
SIGNAL is a programming language based on synchronized data-flow (flows + synchronization): a process is a set of equations on elementary flows describing both data and control.〔P. Le Guernic, T. Gautier, M. Le Borgne, and C. Le Maire. Programming Real-Time Applications with SIGNAL. ''Proceedings of the IEEE'', 79(9): 1321-1336, September 1991.〕 The SIGNAL formal model provides the capability to describe systems with several clocks 〔P. Le Guernic, J.-P. Talpin, and J.-C. Le Lann. Polychrony for system design. ''Journal for Circuits, Systems and Computers'', Special Issue on Application Specific Hardware Design, World Scientific, April 2003 (also available as INRIA Research Report 4715, 2003).〕〔A. Gamatié and T. Gautier. The SIGNAL Synchronous Multiclock Approach to the Design of Distributed Embedded Systems. ''IEEE Transactions on Parallel and Distributed Systems'', 21(5): 641-657, May 2010.〕 (polychronous systems) as relational specifications6+9685-. Relations are useful as partial specifications and as specifications of non-deterministic devices (for instance a non-deterministic bus) or external processes (for instance an unsafe car driver). Using SIGNAL allows to specify〔A. Gamatié. Designing Embedded Systems with the SIGNAL Programming Language: Synchronous, Reactive Specification. ''ISBN 978-1-4419-0940-4.'' Book edited by Springer - New York, 260 pages, 2010.〕 an application, to design an architecture, to refine detailed components down to RTOS or hardware description. The SIGNAL model supports a design methodology which goes from specification to implementation, from abstraction to concretization, from synchrony to asynchrony. SIGNAL has been mainly developed in (INRIA )(Espresso team ) since the 1980s, at the same time as similar programming languages, Esterel and Lustre. == A brief history == The SIGNAL language was first designed for signal processing applications in the beginning of the 1980s. It has been proposed to answer the demand of new domain-specific language for the design of signal processing applications, adopting a dataflow and block-diagram style with array and sliding window operators. P. Le Guernic, A. Benveniste, and T. Gautier have been in charge of the language definition. The first paper on SIGNAL was published in 1982, while the first complete description of SIGNAL appeared in the PhD thesis of T. Gautier. The symbolic representation of SIGNAL via z/3z (over ()) has been introduced in 1986. A full compiler of SIGNAL based on the clock calculus on hierarchy of Boolean clocks, was described by L. Besnard in his PhD thesis in 1992. The clock calculus has been improved later by T. Amagbegnon with the proposition of arborescent canonical forms. During the 1990s, the application domain of the SIGNAL language has been extended into general embedded and real-time systems. The relation-oriented specification style enabled the increasing construction of the systems, and also led to the design considering multi-clocked systems, compared to the original single-clock-based implementation of Esterel and Lustre. Moreover, the design and implementation of distributed embedded systems were also taken into account in SIGNAL. The corresponding research includes the optimization methods proposed by B. Chéron, the clustering models defined by B. Le Goff, the abstraction and separate compilation formalized by O. Maffeïs, and the implementation of distributed programs developed by P. Aubry. 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「SIGNAL (programming language)」の詳細全文を読む スポンサード リンク
|